1. Introduction..A Word about Shareware 1.1 What Shareware is 1.2 Advantages of Registration. 1.3 Registration of the ModScan Application 1.4 Licensing Agreement 1.5 Warranty 2. ModScan System Requirements 2.1 Operational Overview 2.2 System/Cabling Requirements 3. Installation 3.1 Making Backups 3.2 Installing ModScan 4. Basic Operation 4.1 MODBUS Protocol 4.2 Polling Operation 4.3 Display Parameters 5. Menu Selections 5.1 Setup 5.2 Display Options 5.3 Monitoring Serial Data 6. Technical Support 6.1 Contacting WinTECH Introduction..A Word about Shareware What is Shareware Shareware is a distribution method, not a type of software. Shareware products may be freely distributed among potential users with each user given an opportunity to fully evaluate the software over a specified period of time. This distribution method gives users a chance to try software before buying it. If the particular shareware application provides a service which the user wishes to continue beyond the specified evaluation period, a registration payment to the software author is required. Copyright laws apply to both Shareware and commercial software, and WinTECH Software retains all rights to its software products with the following exception: WinTECH Software specifically grants the right to copy and distribute unregistered copies of the ModScan Application to all interested parties for an evaluation period not to exceed thirty-days. Advantages of Registration The Shareware distribution system depends upon the integrity of the user to make the required registration payment only if the application proves itself useful. Shareware products have the ultimate money-back guarantee--if the product is not used, no payment is required. Registration of Shareware products support this system of distribution and allow continued development of low-cost high quality software solutions. Registration of the ModScan Application Unregistered copies of the ModScan Application are functionally equivalent to registered copies with the following exception: To encourage registration, a limit is placed on the amount of time data may be collected during a monitoring session. This limit does not effect the ability of a user to fully evaluate either the functionality or through-put of the application. Registration of the ModScan Application requires a registration fee of $49.95 be submitted to WinTECH Software. The user shall receive in return the most recent registered version of ModScan with all time limit constraints and registration reminder screens disabled. The user shall also receive a printed user manual, and free technical support for a period of three months after registration. Registered users also have direct access to the ModScan design engineer and a commitment from WinTECH to consider product enhancements based on individual application requirements. In other words, if you can think of anything which would make your life easier, let us know. If it has general marketing appeal, chances are it could be included in the next revision. Licensing Agreement Registered WinTECH software is protected by both United States Copyright Law and International Treaty provisions. Therefore, you must treat this software just like a book with the following single exception. WinTECH Software authorizes you to make archival copies of the software for the sole purpose of backing-up your software and protecting your investment from loss. By saying "just like a book", WinTECH means for example that this software may be used by any number of people and may be freely moved from one computer location to another so long as there is no possibility of it being used at two locations at the same time. Execution of two copies of the same registered ModScan application at the same time constitutes a Copyright violation and is expressly prohibited. Warranty With respect to the physical diskette and physical documentation enclosed herein, WinTECH Software warrants the same to be free of defects in materials and workmanship for a period of 30 days from the date of registration. In the event of notification within the warranty period of defects in material or workmanship, WinTECH will replace the defective diskette or documentation. WinTECH Software disclaims all other warranties, expressed or implied, including without limitation, the warranties or merchantability and of fitness for any purpose. WinTECH Software assumes no liability for damages, direct or consequential, which may result from the use of this program. ModScan System Requirements Operational Overview ModScan is a Windows application designed to operate as a master communications device, polling one or more slave devices according to the MODBUS protocol defined by Gould Modicon. ModScan operates using the standard Windows COM drivers and communicates using the electrical protocol supported by the PC hardware. Windows 3.1, Windows for Workgroups 3.11, or Windows '95 is required. At least one free serial port is required. ModScan was designed to operate as a simple one-on-one testing application to verify proper slave response to standard MODBUS query commands. ModScan runs a single polling cycle, configurable by the user, to access and display data points as required. The user may select any valid MODBUS slave address and range of data points to scan. System/Cabling Requirements This manual assumes an RS-232 based communications system is to be used to connect the ModScan application directly to a single MODBUS slave device. In this simple configuration, the cabling requirements are defined by the RS-232 standard and the control signals required by the particular slave device. The application supports RTS/CTS, and DSR/DCD/DTR operation, although these signals are not required for ModScan operation. If required by the slave device, these signals may wired as shown in cable drawing 2.2.1 or jumpered out at the slave end of the cable as shown in drawing 2.2.2. Installation Making Backups The distribution diskette is not copy-protected, and the registered user may make backup copies as required. The ModScan application may be moved from one PC to another so long as the basic licensing agreement of only one copy in use at a time is maintained. Site licenses are available for commercial users by contacting WinTECH Software. Installing ModScan Installation of the ModScan Application involves simply copying the ModScan.exe & ModScan.hlp files from the distribution diskette to a working directory on the hard disk. After running the application for the first time, a configuration file will be created on the working directory. ModScan.cfg represents the user configurable selections, (slave address, data point type. etc.), in effect at the time the program terminated. These settings will be restored the next time ModScan is started. ModScan may be started from the program manager, file manager, or program group icon. Consult the Windows user's manual for details. Basic Operation The MODBUS Protocol The MODBUS protocol describes an industrial communications and distributed control system developed by Gould-Modicon to integrate PLC's, computers, terminals, and other monitoring, sensing, and control devices. MODBUS is a Master/Slave communications protocol, whereby one device, (the Master), controls all serial activity by selectively polling one or more slave devices. The protocol provides for one master device and up to 247 slave devices on a common line. Each device is assigned an address to distinguish it from all other connected devices. Certain characteristics of the MODBUS protocol are fixed, such as the frame format, frame sequences, handling of communications errors and exception conditions, and the functions performed. Other characteristics are user selectable. These include a choice of transmission mediasetup_serial, baud rate, character parity, number of stop bits, and the transmission modes, (ASCII or RTU). The user selected parameters are set, (hardwired or programmed), at each station. These parameters cannot be changed while the system is running. The mode of transmission is the structure of the individual units of information within a message, and the numbering system used to transmit the data. Two modes of transmission are available for use in a MODBUS system. Both modes provide the same capabilities for communicating with PLC slaves; the mode is selected depending on the equipment used as a MODBUS Master. One mode must be used per MODBUS system; mixing of modes is not allowed. The modes are ASCII (American Standard Code for Information Interchange), and RTU, (Remote Terminal Unit.) ASCII printable characters are easy to view when troubleshooting and this mode is suited to computer masters programmed in a high level language, such as FORTRAN, as well as PLC masters. RTU is suited to computer masters programmed in a machine language, as well as PLC masters. In the RTU mode, data is sent in 8-bit binary characters. In the ASCII mode, each RTU character is first divided into two 4-bit parts, (high order and low order), and then represented by the hexadecimal equivalent. The ASCII characters representing the hexadecimal characters are used to construct the message. The ASCII mode uses twice as many characters as the RTU mode, but decoding handling the ASCII data is easier. Additionally, in the RTU mode, message characters must be transmitted in a continuous stream. In the ASCII mode, breaks of up to one second can occur between characters to allow for a relatively slower master. Polling Operation Only the master initiates a transaction. Transactions are either a query/response type, (only a single slave is address), or a broadcast/no response type, (all slaves are addressed). A transaction comprises a single query and single response frame or a single broadcast frame. ASCII Framing Framing in ASCII Transmission mode is accomplished by the use of the unique colon, (:), character to indicate the beginning of frame and carriage return/line feed, (CRLF), to delineate end of frame. The line feed character also serves as a synchronizing character which indicates that the transmitting station is ready to receive an immediate reply. RTU Framing Frame synchronization can be maintained in RTU transmission mode only by simulating a synchronous message. The receiving device monitors the elapsed time between receipt of characters. If three and one-half character times elapse without a new character or completion of the frame, then the device flushes the frame and assumes that the next byte received will be an address. The address field immediately follows the beginning of frame and consists of 8-bits, (RTU), or 2 characters, (ASCII). These bits indicate the user assigned address of the slave device that is to receive the message sent by the attached master. Each slave must be assigned a unique address and only the addressed slave will respond to a query that contains its address. When the slave sends a response, the slave address informs the master which slave is communicating. In a broadcast message, an address of 0 is used. All slaves interpret this as an instruction to read and take action on the message, but not to issue a response message. Function Field The Function Code field tells the addressed slave what function to perform. MODBUS function codes are specifically designed for interacting with a PLC on the MODBUS industrial communications system. The high order bit in this field is set by the slave device to indicate an exception condition in the response message. If no exceptions exist, the high-order bit is maintained as zero in the response message. Data Field The data field contains information needed by the slave to perform the specific function or it contains data collected by the slave in response to a query. This information may be values, address references, or limits. For example, the function code tells the slave to read a holding register, and the data field is needed to indicate which register to start at and how many to read. The imbedded address and data information varies with the type and capacity of the PLC associated with the slave. Error Check Field This field allows the master and slave devices to check a message for errors in transmission. Sometimes, because of electrical noise or other interference, a message may be changed slightly while its on its way from one device to another. The error checking assures that the slave or master does not react to messages that have changed during transmission. This increases the safety and the efficiency of the MODBUS system. The error check field uses a Longitudinal Redundancy Check, (LRC), in the ASCII mode of transmission, and a CRC-16 check in the RTU mode. Display Parameters The display of the ModScan application consists of two parts. The top half of the display represents the addressing information which specifies the remote slave device and data point type to scan. Edit controls allow specification of the slave device identification, point type, and point addressing information used for the scanning operation. These controls may be modified at any time, including an ctive scanning session. Modification of these values during a scanning session will influence the next poll. Immediately above the horizontal line separating the addressing data from the actual data point display is a status line representing current activity of the ModScan application. During an active polling session, this line will represent any exception responses received from the addressed slave or any communications errors which may result from an invalid address specification or disconnected serial line. To the right of the display are two counters representing the number of query messages attempted and the number of valid responses received. During an active polling session, ModScan will attempt to poll the specified slave device periodically depending on the poll cycle selected. These counters may be reset via a menu command and are useful for picking up intermittent failures over an extended period of time. The bottom half of the display typically represents the results of the most recent data scan. If ModScan is configured to display MODBUS data points, Coil values will be displayed as below. ON status is displayed as '1', OFF as '0'. ModScan will attempt to display all data points defined by the Length parameter in the address specification using the available Window display area. Register values may be displayed in either Decimal or Hexadecimal notation. The address of each data point is followed by the contents as shown below: (Hexadecimal notation would include an 'H' after the value such as 1000H.) In order to write a MODBUS data point in a slave device, the communications with the device must first be initiated by scanning a series of data points by configuring the correct addressing information and initiating a polling cycle. Once the data is successfully displayed on the screen, double-clicking the address/value portion of the screen will initiate a dialog box which allows the value to be changed. If the polling cycle has been configured to represent coil addresses, double-clicking an address will initiate the Change Coil Dialog: The Change Register Dialog Box may be initiated by configuring the display to represent register data and double clicking on an address: Pressing the Update Button in either write data point dialog will initiate the appropriate MODBUS write command, (05 or 06), during the next scheduled poll. Menu Selections Setup The SetUp Serial menu command allows the user to control the physical characteristics of the MODBUS connection. The PC COM port to use may be selected, as well as the baud rate, number of stop bits, and parity. The RTU transmission mode dictates that 8 data bits are used while the ASCII mode of transmission allows either 7 or 8 data bits to be used, (even though the eighth bit is not used). The RS-232 handshaking lines may be configured by checking the appropriate boxes depending on the characteristics required by the connected slave device. The Setup Protocol Menu commands allow the user to specify either RTU or ASCII transmission modes. The transmission mode may not be changed while an active session is in progress. The polling cycle must be stopped before these menu options are activated. The polling cycle and associated message time-out are also configurable via the Setup Protocol Menu Commands. The polling cycle represents the time delay between successive polls and is specified in seconds: The message time-out determines how long the ModScan application waits for a response from an addressed slave device and is specified in milliseconds: These menu commands initiate or stop a ModScan polling cycle. The Start Polling Menu command begins a repetitive cycle of polling the slave device specified in the addressing section of the display. The device to poll and the point type and addressing parameters may be changed at any time during a polling cycle. As data is received from the slave device, it is displayed in the data point section of the screen. The Stop Polling Menu selection simply halts the polling process and returns the ModScan application to an Idle condition. Display Options The SetUp Display Menu consists of four line items representing two mutually exclusive options. The display may be configured to display data points or serial traffic by clicking on the appropriate menu selection. The option in effect is represented by a check mark. Likewise, register data may be displayed in either decimal or hexadecimal notation depending on the menu item selected. To change from one notation to the other, simply click the unchecked option. Monitoring Serial Data In certain cases, it may be desirable to monitor the actual MODBUS communications between the ModScan application and a particular slave device. The application allows the serial data traffic to be displayed to the screen as it occurs by selecting the View Traffic option under the Setup DisplayMenu Command options. If enabled, the bottom portion of the ModScan display will depict all serial data characters transmitted and received as they occur. Transmitted characters are displayed in reverse video, received characters are displayed in normal video. Display of the actual serial traffic is sometimes useful for troubleshooting an intermittent communications fault or debugging a new design. Technical Support Contacting WinTECH If it ever becomes necessary to contact WinTECH concerning a technical question or to offer comments or suggestions for improving the Listen application please call or write to the ddress below: WinTECH Software P.O.Box 907 Lewisburg, WV 24901 (304) 645-5966 For quickest response, email questions/comments to: modscan@win-tech.com